Imports System.Data
Imports BLGestionProyecto.BLGPGastoRegistro

Partial Class wfrmGastoRegistro
    Inherits System.Web.UI.Page
    Dim cBLGPGastoRegistro As New BLGestionProyecto.BLGPGastoRegistro
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Try
            If Not Page.IsPostBack Then
                poLimpiarCampos()
                hdncodPersona.Value = Session("codPersona")
                'If Not Request.QueryString("BSQACT") Is Nothing Then
                '    'cBE = CType(Session("BEGPGastoRegistroBSQACTIVIDAD"), BEGestionProyecto.BEGPGastoRegistro)
                '    poLlenarCamposTemporal()
                '    'If Request.QueryString("BSQACT") = clsGPEstructuras.enmRPTACONFIRMA.GPACEPTAR Then
                '    'End If
                'Else
                Call pollenarCombos()
                If Session("EDITAR1") = clsGPEstructuras.enmEstadoDocumentos.GPESTEDITAR Then
                    hdnGastoID.Value = Request.QueryString("CODGAS")
                    poLlenarCampos()
                Else
                    Dim lBLGPPersonal As New BLGestionProyecto.BLGPPersonal
                    Dim lDt1 As DataTable = lBLGPPersonal.fuBLBuscarPersonalx(hdncodPersona.Value)
                    If lDt1.Rows.Count > 0 Then
                        lblPersonal.Text = lDt1.Rows(0)("perNombreCorto")
                    End If

                End If
            End If
            'End If
        Catch ex As Exception
            lblMensaje.Text = Err.Description
        End Try
    End Sub
    'Sub poLlenarCamposTemporal()
    '    Try
    '        Dim cBE As New BEGestionProyecto.BEGPGastoRegistro
    '        pollenarCombos()
    '        Dim lBLGPPersonal As New BLGestionProyecto.BLGPPersonal
    '        With cBE
    '            txtFecha1.Text = Format(.GasFechRegGasto, "dd/MM/yyyy")
    '            txtMotivo.Text = .GasDescMotivo
    '            txtObservacion1.Text = .GasobsGasto
    '            txtMonto1.Text = Val(.GasImporteGasto)
    '            cboMoneda.SelectedValue = .GasTipoMoneda
    '            cboProyecto.SelectedValue = .CODPROYECTO
    '            hdnPersonalProyectoID.Value = .GasPersonalProyectoID

    '            Dim lDt1 As DataTable = lBLGPPersonal.fuBLBuscarPersonalx(hdncodPersona.Value)
    '            If lDt1.Rows.Count > 0 Then
    '                lblPersonal.Text = lDt1.Rows(0)("perNombreCorto")
    '            End If
    '        End With
    '    Catch ex As Exception
    '        lblMensaje.Text = Err.Description
    '    End Try
    'End Sub

    Sub poLlenarCampos()
        Try
            Dim lDt As DataTable = cBLGPGastoRegistro.fuBLBuscarGastoRegistrox(hdnGastoID.Value)
            If lDt.Rows.Count > 0 Then
                txtFecha1.Text = lDt.Rows(0)("gasFechRegGasto").ToString.Substring(0, 10)
                txtObservacion1.Text = lDt.Rows(0)("gasobsGasto").ToString
                txtMonto1.Text = lDt.Rows(0)("gasImporteGasto").ToString
                txtmotivo.text = lDt.Rows(0)("gasDescMotivo").ToString
                cboProyecto.SelectedValue = lDt.Rows(0)("pepProyectoID")
                cboMoneda.SelectedValue = lDt.Rows(0)("gasTipoMoneda").ToString
                lblPersonal.Text = lDt.Rows(0)("perNombreCorto")
            End If
            'poCargarEstructura()
        Catch ex As Exception
            lblMensaje.Text = Err.Description
        End Try

    End Sub

    Sub pollenarCombos()
        Dim lBLGPMaestroTablas As New BLGestionProyecto.BLGPMaestroTablas
        Dim lDt As DataTable = lBLGPMaestroTablas.fuBLListarMaestroTablas("MONEDA")
        cboMoNEDA.DataValueField = "maecodSubtabla"
        cboMoNEDA.DataTextField = "maecoddesSubtabla"
        cboMoNEDA.DataSource = lDt
        cboMoNEDA.DataBind()

        Dim lBLGPGastoRegistro As New BLGestionProyecto.BLGPGastoRegistro
        Dim lDt1 As DataTable = lBLGPGastoRegistro.fuBLListarProyectoxPersona(hdncodPersona.Value)
        cboProyecto.DataValueField = "pepPersonalProyectoID"
        cboProyecto.DataTextField = "prjDescripProyecto"
        cboProyecto.DataSource = lDt1
        cboProyecto.DataBind()

    End Sub

    Public Sub poLimpiarCampos()
        txtFecha1.Text = Now.Date
        txtMonto1.Text = ""
        txtObservacion1.Text = ""
        cboMoneda.SelectedValue = 1
        'cboProyecto.SelectedValue = cboProyecto.
        txtMotivo.Text = ""
        'cboProyecto.SelectedValue = ""
    End Sub
    Function fuValidarDatos(ByVal psTipoSeleccion As String) As Boolean
        Dim lbErr As Boolean
        Try
            lblMensaje.Text = ""
            Select Case psTipoSeleccion
                Case clsGPEstructuras.enmEstadoDocumentos.GPESTNUEVO, clsGPEstructuras.enmEstadoDocumentos.GPESTEDITAR
                    If IsDate(txtFecha1.Text) = False Then
                        lblMensaje.Text &= clsGPUtilidades.fuMensajeUsuValidar(clsGPEstructuras.enmMSGalUsuValidar.GPMSGFECHAINVALIDA, "Registro") & "</BR>"
                        lbErr = True
                    End If
                    If Val(txtMonto1.Text) = 0 Then
                        lblMensaje.Text &= clsGPUtilidades.fuMensajeUsuValidar(clsGPEstructuras.enmMSGalUsuValidar.GPMSGMONTOMAYORCERO, "Gasto") & "</BR>"
                        lbErr = True
                    End If
            End Select
            Return Not lbErr
        Catch ex As Exception
            lblMensaje.Text = Err.Description
        End Try
    End Function

    Protected Sub btnGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGuardar.Click
        poGuardar()
    End Sub
    Public Sub poGuardar()
        lblMensaje.Text = ""
        If Not fuValidarDatos(Session("EDITAR1")) Then
            Exit Sub
        End If
        'cBE = CType(Session("BEGPGastoRegistroBSQACTIVIDAD"), BEGestionProyecto.BEGPGastoRegistro)
        Dim cBE As New BEGestionProyecto.BEGPGastoRegistro
        Try
            With cBE
                .GasFechRegGasto = CDate(txtFecha1.Text)
                .GasDescMotivo = txtMotivo.Text
                .GasObsGasto = txtObservacion1.Text
                .GasImporteGasto = Val(txtMonto1.Text)
                .GasTipoMoneda = cboMoneda.SelectedValue
                .GasUserCreacionID = Session("CODUSUARIO")
                .GasUserModificacion = Session("CODUSUARIO")
                '.GascodProyectoActividad = hdn
                .GasPersonalProyectoID = cboProyecto.SelectedValue
            End With
            If Session("EDITAR1") = clsGPEstructuras.enmEstadoDocumentos.GPESTNUEVO Then
                If cBLGPGastoRegistro.fuBLInsertarGastoRegistro(cBE) = False Then
                    lblMensaje.Text = clsGPUtilidades.fuMensajeUsuario(clsGPEstructuras.enmMSGalUsuario.GPMSGERRORGUARDAR)
                    Exit Sub
                End If
                lblMensaje.Text = clsGPUtilidades.fuMensajeUsuario(clsGPEstructuras.enmMSGalUsuario.GPMSGREGISTROOK)
            Else
                cBE.GasGastoID = hdnGastoID.Value
                If cBLGPGastoRegistro.fuBLActualizarGastoRegistro(cBE) = False Then
                    lblMensaje.Text = "* Ocurrio un error al Grabar"
                    Exit Sub
                End If
                Response.Redirect("wfrmGastoRegistroListar.aspx?RSP=" & clsGPEstructuras.enmMSGalUsuario.GPMSGACTUALIZACIONOK)
            End If
            poLimpiarCampos()
        Catch ex As Exception
            lblMensaje.Text = Err.Description
        End Try
    End Sub

    Protected Sub btnRetornar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRetornar.Click
        Response.Redirect("wfrmGastoRegistroListar.aspx")
    End Sub
    Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As EventArgs) Handles Calendar1.SelectionChanged
        txtFecha1.Text = Calendar1.SelectedDate.ToString("dd/MM/yyyy")
        Calendar1.Visible = False
    End Sub

    Protected Sub imgButon_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgButon.Click
        If (Calendar1.Visible = False) Then
            Calendar1.Visible = True
        Else
            Calendar1.Visible = False
        End If
    End Sub
    'Sub poCargarEstructura()
    '    Dim cBE As New BEGestionProyecto.BEGPGastoRegistro
    '    With cBE
    '        If Not IsDate(txtFecha1.Text) Then
    '            txtFecha1.Text = Format(Now.Date, "dd/MM/yyyy")
    '        End If
    '        .GasFechRegGasto = CDate(txtFecha1.Text)
    '        .GasDescMotivo = txtMotivo.Text
    '        .GasObsGasto = txtObservacion1.Text
    '        .GasImporteGasto = Val(txtMonto1.Text)
    '        .GasTipoMoneda = cboMoneda.SelectedValue
    '        .GasEstado = 1
    '        .GasUserCreacionID = Session("CODUSUARIO")
    '        .GasUserModificacion = Session("CODUSUARIO")
    '        .GasPersonalProyectoID = hdnPersonalProyectoID.Value
    '        .GasGastoID = Val(hdnGastoID.Value)
    '        .NOMBREPROYECTO = cboProyecto.SelectedItem.Text
    '        .CODPROYECTO = cboProyecto.SelectedValue
    '        Session("BEGPGastoRegistroBSQACTIVIDAD") = cBE
    '    End With
    'End Sub

    'Protected Sub btnBuscar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnBuscar.Click
    '    Try
    '        poCargarEstructura()
    '        Session("BEGPGastoRegistroBSQACTIVIDAD") = cBE
    '        Response.Redirect(String.Format("wctlProyectoActividadPersonalBuscar.aspx?BSQGAS=1&CODPRO={0}&CODPER={1}", cboProyecto.SelectedValue, hdncodPersona.Value))
    '    Catch ex As Exception
    '        lblMensaje.Text = ex.Message

    '    End Try
    'End Sub
End Class
